<?php
/**
 * Created by PhpStorm.
 * User: Wei
 * Date: 17/10/5
 * Time: 17:18
 */
//通过这个简单的例子可以发现，在类的实例化过程中，系统所做的工作大致是这样的：

/* 模拟系统实例化过程 */
function instance($class)
{
    // 如果类存在则返回其实例
    if (class_exists($class, false)) {
        return new $class();
    }
    // 查看 autoload 函数是否被用户定义
    if (function_exists('__autoload')) {
        __autoload($class); // 最后一次引入的机会
    }
    // 再次检查类是否存在
    if (class_exists($class, false)) {
        return new $class();
    } else { // 系统：我实在没辙了
        throw new Exception('Class Not Found');
    }
}